
package oreilly.observe;

/**
 * 所有的主題, 都要 implemnt the interface <br>
 * Copyright: Copyright (c) 2002-2007<br>
 * Company: E885 有限公司
 * 
 * @author Eric Gau(gau168.gau@msa.hinet.net)
 * @version 1.0
 */
public interface Subject
{
	/**
	 * 通知已註冊的觀察者
	 */
	public void notifyObservers();

	/**
	 * 註冊觀察者, 等要通知觀察者時, 唯有註冊過, 才會被通知
	 * 
	 * @param observer 觀察者
	 */
	public void registerObserver( Observer observer );

	/**
	 * 移開觀察者
	 * 
	 * @param observer 觀察者
	 */
	public void removeObserver( Observer observer );
}
